@mixin themeify {
  transition-duration: .2s;
  transition-property: color, background-color, box-shadow;
  transition-timing-function: ease-out;

  @each $theme, $map in $themes {
    $theme-map: $map !global;

    [data-theme=#{$theme}] & {
      @content
    }
  }
}

@function theme($key) {
  @return map-get($theme-map, $key);
}
